﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EControl.Modelo;
using System.Data.SqlClient;
using System.Windows;

namespace EControl.Controle
{
    class PrecoController
    {
        private string strConn = "Data Source=MARIA-PC\\SQLEXPRESS;Initial Catalog=dbestacionamento;Integrated Security=False;User ID=developer;Password=developer;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";

        public PrecoModel pesquisaPreco()
        {
            try
            {
                SqlConnection sqlCon = new SqlConnection();
                sqlCon.ConnectionString = strConn;

                sqlCon.Open();

                string query = "select (select top 1 preco from preco where descricao = 'Hora' order by ts_criacao desc) hora, (select top 1 preco from preco where descricao = 'Mensal' order by ts_criacao desc) mensal";

                SqlCommand cmd = new SqlCommand(query, sqlCon);
                SqlDataReader dr = cmd.ExecuteReader();

                PrecoModel preco = new PrecoModel();

                while (dr.Read())
                {
                    preco.Hora = dr["hora"].ToString();
                    preco.Mensal = dr["mensal"].ToString();
                }

                sqlCon.Close();

                return preco;
            }
            catch (Exception)
            {
                MessageBoxButton botao = MessageBoxButton.OK;
                MessageBox.Show("Ocorreu um erro no sistema, por favor entre em contato com o administrador do sistema ou tente novamente mais tarde", "Erro", botao);

                return null;
            }
        }

        public bool novoPreco(PrecoModel preco)
        {
            try
            {
                SqlConnection sqlCon = new SqlConnection();
                sqlCon.ConnectionString = strConn;

                sqlCon.Open();

                string query1 = "insert into preco (descricao, preco) values ('Hora', '"+preco.Hora+"')";
                string query2 = "insert into preco (descricao, preco) values ('Mensal', '"+preco.Mensal+"')";

                SqlCommand cmd = new SqlCommand(query1, sqlCon);
                int ok1 = cmd.ExecuteNonQuery();

                cmd = new SqlCommand(query2, sqlCon);
                int ok2 = cmd.ExecuteNonQuery();

                sqlCon.Close();

                if (ok1 > 0 && ok2 > 0)
                {
                    MessageBoxButton botao = MessageBoxButton.OK;
                    MessageBox.Show("Alterações salvas com sucesso!", "Aviso", botao);
                    return true;
                }
                else
                {
                    MessageBoxButton botao = MessageBoxButton.OK;
                    MessageBox.Show("Ocorreu um erro no sistema, por favor entre em contato com o administrador do sistema ou tente novamente mais tarde", "Erro", botao);
                    return false;
                }
            }
            catch (Exception)
            {
                MessageBoxButton botao = MessageBoxButton.OK;
                MessageBox.Show("Ocorreu um erro no sistema, por favor entre em contato com o administrador do sistema ou tente novamente mais tarde", "Erro", botao);

                return false;
            }
        }
    }
}
